import os
import socket
from tkinter import filedialog

import pyodbc


class Variable:
    path = ''
    user_df = None  # 保存所有用户的信息
    user_zd = None  # 保存当前登录用户的信息
    ip = None  # 保存服务器ip
    prodDate_df = ''  # 保存生产日期ate
    flag=True # 如果为True,则表示正在等待扫描客户零件号，为False则表示正在等待扫描客户零件号
    scandata = None
    # 如果为True,则用服务器名称连接数据库，如果为False,则用服务器IP地址连接数据库
    serverFlag = False
    serverName = ''
    ipn=''
    cpn=''





def select_file(prompt_message):  # 选择文件 prompt_message 提示信息
    return filedialog.askopenfilename(filetypes=[(prompt_message, '*.xlsx')])

# 获取sqlserver用户名
def get_sql_server_username():
    try:
        conn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=localhost;Trusted_Connection=yes;')
        cursor = conn.cursor()
        cursor.execute("SELECT SUSER_SNAME()")
        username = cursor.fetchone()[0].rsplit("\\")[0]
        conn.close()
        return username
    except Exception as e:
        return ''

# 获取ip地址,如果获取不到则返回127.0.0.1没有ip地址，则返回localhost
def get_ip_address():
    return socket.gethostbyname(socket.gethostname())
